export interface TableRequestData {
  /** 当前页码 */
  current_page: number
  /** 查询条数 */
  size: number
  /** 查询参数: 项目名称 */
  project_name?: string
  /** 最近七天 */
  used_time?: string
}

export interface ProjectBaseInfo {
  project_id?: string // 项目Id;
  project_name: string // 项目名称；
  project_describe?: string // 项目描述；
  project_modules: string[] | string // 项目支持的模块；
}

export interface Project extends ProjectBaseInfo {
  project_id: string // 项目Id;
  project_describe: string // 项目描述；
  project_modules: string // 项目支持的模块；
  project_statics: { // 项目统计
    train_count: number // 训练任务数量；
    inference_count: number // 推演任务数量；
    agent_count: number // 智能体数量；
    scn_count: number // 想定数量；
    evaluate_count: number // 评估数量；
  }
  create_time: string // 创建时间；
  create_user: {
    user_id: string // 用户id;
    user_name: string // 用户名；
    user_position: string // 用户职位
  }
}

export type TableResponseData = ApiResponseData<{
  total: number
  rows: Project[]
}>
export type ViewResponseData = ApiResponseData<Project>



// 项目模块
export const moduleOptions = [
  { name: "智能体", value: "agent" },
  { name: "仿真想定", value: "scn" },
  { name: "训练任务", value: "train" },
  { name: "推演任务", value: "inference" },
  { name: "评估任务", value: "evaluate" }
]

export const moduleValue = moduleOptions.map(item => item.value);

export const moduleNameText: { [propName: string]: string } = moduleOptions.reduce(
  (acc: { [propName: string]: string }, curr) => {
    acc[curr.value] = curr.name
    return acc
  },
  {}
)
